Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing.Core
Public Sub ApplyModalityLookupTableConstructorExample()
Dim codecs As New RasterCodecs()
codecs.ThrowExceptionsOnInvalidImages = True
Dim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE2.dcm"))
' Prepare the command
Dim i As Integer
Dim pLookupTable() As Short
ReDim pLookupTable(65535)
Dim LookupTableDescriptor As DicomLookupTableDescriptor = New DicomLookupTableDescriptor(0, 16)
' set a LookupTable which reduces the intensity of each pixel to half
For i = 0 To 65535
pLookupTable(i) = CType(i \ 2, Int16)
Next
' apply the LookupTable
Dim command As ApplyModalityLookupTableCommand = New ApplyModalityLookupTableCommand(LookupTableDescriptor, pLookupTable, ModalityLookupTableCommandFlags.None)
command.Run(leadImage)
End Sub
Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.Core;
public void ApplyModalityLookupTableConstructorExample()
{
// Load an image
RasterCodecs codecs = new RasterCodecs();
codecs.ThrowExceptionsOnInvalidImages = true;
RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE2.dcm"));
// Prepare the command
int i;
short[] pLookupTable = new short[65536];
DicomLookupTableDescriptor LookupTableDescriptor = new DicomLookupTableDescriptor(0, 16);
// set a LookupTable which reduces the intensity of each pixel to half
for(i = 0; i < 65536; i++)
pLookupTable[i] = (short)(i / 2);
// apply the LookupTable
ApplyModalityLookupTableCommand command = new ApplyModalityLookupTableCommand(LookupTableDescriptor, pLookupTable, ModalityLookupTableCommandFlags.None);
command.Run(image);
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
function ApplyModalityLookupTableConstructorExample()
{
var codecs = new Leadtools.Codecs.RasterCodecs();
codecs.throwExceptionsOnInvalidImages = true;
// Load the image
var srcFileName = "Assets\\Image2.dcm";
return Tools.AppInstallFolder().getFileAsync(srcFileName).then(function (loadFile) {
return codecs.loadAsync(Leadtools.LeadStreamFactory.create(loadFile));
}).then(function (image){
with (Leadtools.ImageProcessing.Core) {
// Prepare the command
var i;
var pLookupTable = new Array();;
var LookupTableDescriptor = new DicomLookupTableDescriptor();
// set a LookupTable which reduces the intensity of each pixel to half
for(i = 0; i <= 0xFFFF; i++)
pLookupTable[i] = parseInt(i / 2);
// apply the LookupTable
var command = new ApplyModalityLookupTableCommand(LookupTableDescriptor, pLookupTable, ModalityLookupTableCommandFlags.None);
command.run(image);
}
});
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.Core;
public async Task ApplyModalityLookupTableConstructorExample()
{
// Load an image
RasterCodecs codecs = new RasterCodecs();
codecs.ThrowExceptionsOnInvalidImages = true;
// Load the image
string srcFileName = @"Assets\Image2.dcm";
StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName);
RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile));
// Prepare the command
int i;
short[] pLookupTable = new short[65536];
DicomLookupTableDescriptor LookupTableDescriptor = new DicomLookupTableDescriptor(0, 16);
// set a LookupTable which reduces the intensity of each pixel to half
for(i = 0; i < 65536; i++)
pLookupTable[i] = (short)(i / 2);
// apply the LookupTable
ApplyModalityLookupTableCommand command = new ApplyModalityLookupTableCommand(LookupTableDescriptor, pLookupTable, ModalityLookupTableCommandFlags.None);
command.Run(image);
}
using Leadtools;
using Leadtools.Examples;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.Core;
public void ApplyModalityLookupTableConstructorExample(RasterImage image, Stream outStream)
{
// Prepare the command
int i;
short[] pLookupTable = new short[65536];
DicomLookupTableDescriptor LookupTableDescriptor = new DicomLookupTableDescriptor(0, 16);
// set a LookupTable which reduces the intensity of each pixel to half
for (i = 0; i < 65536; i++)
pLookupTable[i] = (short)(i / 2);
// apply the LookupTable
ApplyModalityLookupTableCommand command = new ApplyModalityLookupTableCommand(LookupTableDescriptor, pLookupTable, ModalityLookupTableCommandFlags.None);
command.Run(image);
// Save result image
RasterCodecs codecs = new RasterCodecs();
codecs.Save(image, outStream, RasterImageFormat.Jpeg, 24);
image.Dispose();
}
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing.Core
Public Sub ApplyModalityLookupTableConstructorExample(ByVal image As RasterImage, ByVal outStream As Stream)
' Prepare the command
Dim i As Integer
Dim pLookupTable As Short() = New Short(65535){}
Dim LookupTableDescriptor As DicomLookupTableDescriptor = New DicomLookupTableDescriptor(0, 16)
' set a LookupTable which reduces the intensity of each pixel to half
For i = 0 To 65535
pLookupTable(i) = CShort(i / 2)
Next i
' apply the LookupTable
Dim command As ApplyModalityLookupTableCommand = New ApplyModalityLookupTableCommand(LookupTableDescriptor, pLookupTable, ModalityLookupTableCommandFlags.None)
command.Run(image)
' Save result image
Dim codecs As RasterCodecs = New RasterCodecs()
codecs.Save(image, outStream, RasterImageFormat.Jpeg, 24)
image.Dispose()
End Sub